package com.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.model.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by zmkn2 on 2016/5/4.
 */
public class ParseAuId {
    public List<Data> parse(JSONObject jsonObject){
        List<Data> datalist = new ArrayList<Data>();
        JSONArray jsonArray = new JSONArray();
        jsonArray = jsonObject.getJSONArray("entities");
        for (int i = 0; i<jsonArray.size();i++){
            Data data = new Data();
            JSONObject jsonObject1 = jsonArray.getJSONObject(i);
            if(jsonObject1.containsKey("Id")){//Id 是唯一的
                data.Id.add(jsonObject1.getLong("Id"));
            }
            if(jsonObject1.containsKey("AA")){//AA.AuId
                JSONArray jsonArray1 = jsonObject1.getJSONArray("AA");
                for (int j = 0;j<jsonArray1.size();j++){
                    data.AuId.add(jsonArray1.getJSONObject(j).getLong("AuId"));
                    data.AfId.add(jsonArray1.getJSONObject(j).getLong("AfId"));
                }
            }
        /*if(jsonObject1.get("attribute").toString().equals("AA.AfId")){//AA.AfId
            JSONArray jsonArray1 = jsonObject1.getJSONArray("histogram");
            for (int j = 0;j<jsonArray1.size();j++)
                data.AfId.add(jsonArray1.getJSONObject(j).getLong("value"));
        }*/
            if(jsonObject1.containsKey("C")){//C.CId 是唯一的
                JSONObject jsonObject2 = jsonObject1.getJSONObject("C");
                data.CId.add(jsonObject2.getLong("CId"));
            }
            if(jsonObject1.containsKey("F")){//F.FId
                JSONArray jsonArray1 = jsonObject1.getJSONArray("F");
                for (int j = 0;j<jsonArray1.size();j++)
                    data.FId.add(jsonArray1.getJSONObject(j).getLong("FId"));
            }
            if(jsonObject1.containsKey("J")){//J.JId 是唯一的
                JSONObject jsonObject2 = jsonObject1.getJSONObject("J");
                data.JId.add(jsonObject2.getLong("JId"));
            }
            if (jsonObject1.containsKey("RId")){//R.RId
                JSONArray jsonArray1 = jsonObject1.getJSONArray("RId");
                for (int j = 0;j<jsonArray1.size();j++)
                    data.RId.add(jsonArray1.getLong(j));
            }
            datalist.add(data);
        }

        //System.out.println(datalist.toString());
        return datalist;
    }
}
